11
תגובות

שאלה שימוש ב CHtml

פתח pol292 ,
אני משתמש ב CHtml::activeDropDownList כידי להדפיס מערך.
אבל המערך מכיל מילים בעברית, וזה מייצג אותם כשדה ריק (NULL).
כשאני מדפיס את המערך (print_r) הוא מוצג כמו שצריך.

11 תשובות

avatar ענה intval ב 05 לפברואר 2012 #

תצרף בבקשה את הקוד שלך.

avatar ענה pol292 ב 05 לפברואר 2012 #

זה חלק מהקונטרולר:

$model=new Group;
           
            $connection = Yii::app()->db;
           
            $connection->active=true;
           
            $sql = "SELECT name,idx from nbg";
           
            $command = $connection->createCommand($sql);
            $dataReader=$command->query();
           
            $rows=$dataReader->readAll();
           
            $selects = array("end" => "end");
           
            foreach($rows as $row) {
               
                $selects[$row["idx"]] = $row["name"] ;
               
            }
            $this->render('add_group',array('model'=>$model,"select" => $selects));


זה המודל
<?php

class Group extends CFormModel
{
    public $name;
    public $info;
    public $tip=null;
    public $after;
 
    private $_identity;
 
    public function rules()
    {
        return array(
            array('name, info', 'required'),
        );
    }
   
   
   
}
   
?>


בVIEW:
<div class="form">
<?php echo CHtml::beginForm(); ?>
 
    <?php echo CHtml::errorSummary($model); ?>
 
    <div class="row">
        <?php echo CHtml::activeLabel($model,'שם הקבוצה:'); ?>
        <?php echo CHtml::activeTextField($model,'name') ?>
    </div>
 
    <div class="row">
        <?php echo CHtml::activeLabel($model,'תיאור הקבוצה:'); ?>
        <?php echo CHtml::activeTextArea($model,'info') ?>
    </div>
 
    <div class="row">
        <?php echo CHtml::activeLabel($model,'טיפים לקניה:'); ?>
        <?php echo CHtml::activeTextArea($model,'tip') ?>
    </div>
   
    <div class="row">
        <?php echo CHtml::activeLabel($model,'הוסף לפני קבוצה:'); ?>
        <?php echo CHtml::activeDropDownList($model,'after', $select ) ?>
    </div>
 
    <div class="row submit">
        <?php echo CHtml::submitButton(); ?>
    </div>
 
<?php echo CHtml::endForm(); ?>
</div><!-- form -->

avatar ענה pol292 ב 05 לפברואר 2012 #

intval צירפתי את הקוד

avatar ענה intval ב 05 לפברואר 2012 #

מוזר.
זה אמור לעבוד.
עובד לך ככה?

<?php echo CHtml::activeDropDownList($model,'after',array('test' => 'hello', 'no' => 'bye') ) ?>

avatar ענה משתמש_107690 ב 08 לפברואר 2012 #

כן כשרשמתי את זה באנגלית זה עבד וכשאני רושם בעבריצ השדה שבעברית לא מוצג

avatar ענה intval ב 08 לפברואר 2012 #

אצלי הקוד הבא עובד יופי.

echo CHtml::activeDropDownList(new c(),'after', array('123' => 'שלום', '456' => 'להתראות') );

אתה בגרסה האחרונה של YII ?

avatar ענה משתמש_107690 ב 08 לפברואר 2012 #

כן

avatar ענה intval ב 08 לפברואר 2012 #

משהו מוזר.
אתה רואה שגיאות כלשהם, אולי משהו ב application.log ?
הקובץ שמור בתוך utf-8 ?
תנסה ליתר בטחון לערוך אותו עם עורך טקסט אחר.

avatar ענה משתמש_107690 ב 09 לפברואר 2012 #

העברית מגיע מהמסד נתונים

avatar ענה intval ב 09 לפברואר 2012 #

השאלה היא האם זה עובד hard coded
צריך להבין איפה לחפש את הבעיה.

avatar ענה משתמש_108598 ב 09 לפברואר 2012 #

INTVAL תודה אחי עזרתה לי מאוד הקובץ באמת היה על WINDOWS-1225